package com.wpen.unit.web.dto.job;

import java.io.Serializable;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.wpen.unit.commun.BaseRequest;

@Schema(description = "批次信息-新增(请求)")
@Data
@EqualsAndHashCode(callSuper=false)
public class BatchInfoAddRequest extends BaseRequest implements Serializable {
    private static final long serialVersionUID = 3748013572408380531L;

    @Schema(description =  "业务系统", required = true)
    @NotEmpty
    @Size(min = 0, max = 16)
    private String bizCode;
    @Schema(description =  "批次编号", required = true)
    @NotEmpty
    @Size(min = 0, max = 16)
    private String batchCode;
    @Schema(description =  "类型", required = true)
    @NotEmpty
    @Size(min = 0, max = 1)
    private String batchType;
    @Schema(description =  "执行方式", required = true)
    @NotEmpty
    @Size(min = 0, max = 1)
    private String scheduleType;
    @Schema(description =  "执行时间")
    @NotEmpty
    @Size(min = 0, max = 256)
    private String scheduleConf;
    @Schema(description =  "序号", required = true)
    @NotNull
    private Integer orders;
    @Schema(description =  "批次说明", required = true)
    @NotEmpty
    @Size(min = 1, max = 255)
    private String batchName;
    @Schema(description =  "启动最大延迟时间", required = true)
    @NotNull
    private Integer startupMaxDelay;
    @Schema(description =  "执行预估超时", required = true)
    @NotNull
    private Integer exeTimeout;
    @Schema(description =  "管理者A", required = true)
    @NotEmpty
    @Size(min = 0, max = 32)
    private String managerP1;
    @Schema(description =  "管理者B")
    @Size(min = 0, max = 32)
    private String managerP2;
    @Schema(description =  "管理者C")
    @Size(min = 0, max = 32)
    private String managerP3;

}